import * as echarts from 'echarts';
import { Component } from 'react';

class PieChart extends Component {
    componentDidMount() {
        // 基于准备好的dom，初始化echarts实例
        let pieChartId: HTMLElement = document.getElementById('pieChart')!;
        let pieChart = echarts.init(pieChartId);
        // 绘制图表
        pieChart.setOption({   
            title: {
                text: 'Customized Pie',
                left: 'center',
                top: 20,
                textStyle: {
                    color: '#ccc'
                }
            },
        
            tooltip: {
                trigger: 'item'
            },
        
            visualMap: {
                show: false,
                min: 80,
                max: 600,
                inRange: {
                    colorLightness: [0, 1]
                }
            },
            series: [
                {
                    name: '访问来源',
                    type: 'pie',
                    radius: '55%',
                    center: ['50%', '50%'],
                    data: [
                        {value: 335, name: '直接访问'},
                        {value: 310, name: '邮件营销'},
                        {value: 274, name: '联盟广告'},
                        {value: 235, name: '视频广告'},
                        {value: 400, name: '搜索引擎'}
                    ].sort(function (a, b) { return a.value - b.value; }),
                    roseType: 'radius',
                    label: {
                        color: '#2c343c'
                    },
                    labelLine: {
                        lineStyle: {
                            color: '#2c343c'
                        },
                        smooth: 0.2,
                        length: 10,
                        length2: 20
                    },
                    // itemStyle: {
                    //     color: '#c23531',
                    //     shadowBlur: 200,
                    //     shadowColor: 'rgba(0, 0, 0, 0.5)'
                    // },
        
                    animationType: 'scale',
                    animationEasing: 'elasticOut',
                    animationDelay: function () {
                        return Math.random() * 200;
                    }
                }
            ]
        });
    }
    render() {
        return (
            <div id="pieChart" style={{width:'650px',height:'350px'}}></div>
        )
    }
}

export default PieChart;
